/********************************************
 * 
 * 타이틀 : 클라이언트 데이터 전송 클래스  //참고용
 * 기능 : 
 * 작성자 : LJI
 * 작성일 : 2013.09.26
 * 
 ********************************************/


package com.game.pacman.client;

import java.net.Socket;

public class Client
{
	private NetUnit unit;
	private StringBuilder messageList;
	
	public Client() {

	}

	public NetUnit getUnit() {
		return unit;
	}

	public void setUnit(NetUnit unit) {
		this.unit = unit;
	}

	
	public void startClient(){
		try{
			Socket socket = new Socket(Constants.SERVER_IP,Constants.SERVER_PORT);
			unit = new NetUnit(this,socket);
			unit.start();//메시지 수신 작업 시작
			//logMessage("***** 서버에 연결되었습니다. *****");//파일에 로그 기록하기
			System.out.println("서버에 연결되었습니다.");
			}
		catch(Exception ex){
			//logMessage("***** 서버 연결 실패 *****");
			System.out.println("* 서버 연결 실패 ");
		}

	}

	public void stopClient(){
				//중지 버튼 눌렸을 때 처리할 코드
				unit.doStop();
				try{
					unit.join(); //unit쓰레드가 종료될 때까지 대기
				}
				catch(Exception ex){}
				
			//	logMessage("***** 서버와 연결이 종료되었습니다. *****");
				System.out.println("* 서버와 연결이 종료 ");
	}
	
	//메시지 송신
	public void sendData(String message) {
		unit.doSend(message);
	//	logMessage(String.format("[%21s]:%s", "내가 보낸 메시지",message));
		System.out.println(String.format("[%21s]:%s", "내가 보낸 메시지",message));
	}
	
	public void processMessage(String message) {
		logMessage(message);		
	}	
	
	//로그 기록 남기기
	private void logMessage(String message) {
		messageList.append(message);
		messageList.append("\n");
	}
}








